package org.dromara.system.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.system.domain.SysBuildingRoom;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;



/**
 * 房屋管理视图对象 sys_building_room
 *
 * @author LSL
 * @date 2024-05-27
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SysBuildingRoom.class)
public class SysBuildingRoomVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 房屋ID
     */
    @ExcelProperty(value = "房屋ID")
    private Long roomId;

    /**
     * 房屋编号
     */
    @ExcelProperty(value = "房屋编号")
    private String roomNum;

    /**
     * 单元ID
     */
    @ExcelProperty(value = "单元ID")
    private Long unitId;

    /**
     * 层数
     */
    @ExcelProperty(value = "层数")
    private String layer;

    /**
     * 室
     */
    @ExcelProperty(value = "室")
    private String section;

    /**
     * 户型
     */
    @ExcelProperty(value = "户型")
    private String apartment;

    /**
     * 建筑面积
     */
    @ExcelProperty(value = "建筑面积")
    private BigDecimal builtUpArea;

    /**
     * 算费系数
     */
    @ExcelProperty(value = "算费系数")
    private BigDecimal feeCoefficient;

    /**
     * 房屋状态，如房屋出售等，请查看state 表
     */
    @ExcelProperty(value = "房屋状态，如房屋出售等，请查看state 表")
    private String state;

    /**
     * 小区ID
     */
    @ExcelProperty(value = "小区ID")
    private Long communityId;

    /**
     * 房屋类型
     */
    @ExcelProperty(value = "房屋类型")
    private String roomType;

    /**
     * 房屋类型 110 住宅房屋，119 办公室 120 宿舍
     */
    @ExcelProperty(value = "房屋类型 110 住宅房屋，119 办公室 120 宿舍")
    private String roomSubType;

    /**
     * 室内面积
     */
    @ExcelProperty(value = "室内面积")
    private BigDecimal roomArea;

    /**
     * 租金
     */
    @ExcelProperty(value = "租金")
    private BigDecimal roomRent;

    /**
     * 状态（0正常 1停用）
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=正常,1=停用")
    private String status;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 楼栋Id
     */
    @ExcelProperty(value = "楼栋Id")
    private Long floorId;

    @ExcelProperty(value = "小区名称")
    private String communityName;
}
